/* 
 * File:   LecteurFonction.h
 * Author: donzellt
 *
 * Created on 9 décembre 2011, 16:01
 */
#include "Symbole.h"
#include "LecteurSymbole.h"
#include "TableSymboles.h"
#include "Arbre.h"

#include <string>

#ifndef LECTEURFONCTION_H
#define	LECTEURFONCTION_H

class LecteurFonction {
public:
    LecteurFonction();
    LecteurFonction(const LecteurFonction& orig);
    virtual ~LecteurFonction();
    int getValeur();
private:
    LecteurSymbole &ls;
    TableSymboles ts;
    Noeud* arbre;
    string nom;
    unsigned short nbparam;
    Noeud* decFonc ();
    Noeud* facteur();
    
     void testerSymCour (string ch);  // si symbole courant != ch, erreur : on arrete le programme, sinon rien
    void sauterSymCour (string ch);  // si symbole courant == ch, on passe au symbole suivant, sinon erreur : on arrete
    void erreur (string mess);      // affiche les message d'erreur mess et arrete le programme
    

};

#endif	/* LECTEURFONCTION_H */

